Read Me textfile for "Fun with Vectors (archive).zip -
by Richard C Degler, for the Bally Professional Arcade
see: Read Me.diz for listing of individual files here


Here's Message #6800 of the Yahoo! Bally Alley group which explanins this
semi-tutorial program a little - and leads to earlier messages on-line :

<begin>
Tue Nov 11, 2008 11:49 pm

"Richard Degler" <fangs301@yahoo.com>
[Yahoo! username:] fangs301


Now I'm finished with FunWithVectors - the joystick is still a little
sensitive but no longer does diagonals only, and the trigger just slows it
down instead of stopping it, which allows the red to draw now with no change
to the color code.  The dog (no, WHAT?) now faces in the direction he's
heading, but since the FLOP bit didn't do what I thought I had to add in a
GAZ-GIZ pattern which is a mirror image of the original.  That showed me
three places where I made mistakes going from the data to the chart.

Here's the whole archive; only FUNWIT~4.bin is the final version for use in,
you know :

http://tech.groups.yahoo.com/group/ballyalley/files/ [un-cut here]
Fun%20With%20Vectors%20%28archive%29.zip


Also included is a "Timing Test" version with some scarry news.  First
though, it works in older pre-MAME (up to v.123) MESS's and is faster since
I turned off the screen interrupt mode that was breaking my Conway's LIFE
(and which is still not working right - see my INT_TEST.bin in <A
HREF="http://bugzilla.mess.org/show_bug.cgi?id=1477"> BUGZILLA #1477 </A>.)
That was not needed since the interrupt routine finished in less than the
time it takes to draw one screen, but not by much!
Running FUNWIT~3.bin (or looking at the enclosed picture FWV_TEST.png) shows
the background changing to mark each of the three parts [oh, yeah - if using
MESS then turn off FRAMESKIP or else it will not show all of the color bars
correctly.] - in RED starting with the screen interrupt at scanline #127
down to line #145 is the time it takes to do the VECT[or] system routine
(a little longer when Ziggy hits the side and more math has to be done.)
If only a small fractional change is made and the image doesn't need to be
redrawn then the background changes back to WHITE and the interrupt is over
(about 1.17 milliSecond out of the 16.67mS per each 1/60th Second screen if
my math is right [which it wasn't, I had microSeconds at first].)  But ...
If it DOES need to re-draw first it has to un-draw.  From line #145 all the
way to #209 the screen is GREEN while the VBLANK system routine erases the
old image.  This takes 3.84mS due to the size of the image plus the column
of bytes to the right that it might have been shifted into.
By now the bottom of the screen has been passed so you won't see the change
to BLUE at line #209 but it wraps around to the top and down to line #24
while the VWRITR (Vector WRITe Relative) routine expands the image to the
screen, another 4.95mS passes for a total of 153 scanlines, at almost 10mS,
when the background turns WHITE again, the HALT is over, and game code runs
again.

Since there are only 103 scanlines left, or about 6.71mS [at 60 screens per
second and 256 lines apiece - each would take 0.0651mS], for the game code
to finish and get back to the EI/HLT combo - there is not enough time for
to add in another image/player UNLESS they redraw on alternate screens.

Whew!


--- In ballyalley@yahoogroups.com, "Paul Thacker"
<lennier_of_the_minbari@...> wrote:
>
> Thanks for the update, Richard! Would you object to putting the early
> versions on-line as well, to show how the program developed? I think
> it's cool, over twenty years later, to resurrect these programs from
> back when the Astrocade was fairly current.
> 
> Paul
> 


<eot>
